圖像的機(jī)器人視覺伺服實(shí)驗(yàn)研究
制造出像人一樣具有智能的能替代人類勞動(dòng)的機(jī)器人,一直是人類的夢想,人類獲取的信息80%以上是通過視覺。因此,在智能機(jī)器人的研究中,具有視覺的機(jī)器人的研究也就成了第一位的。對(duì)機(jī)器人視覺伺服系統(tǒng)的研究是機(jī)器人領(lǐng)域中的重要內(nèi)容之一,其研究成果可應(yīng)用在機(jī)器人自動(dòng)避障、軌跡跟蹤和運(yùn)動(dòng)目標(biāo)跟蹤等問題中。從反饋信息類型的角度分類,機(jī)器人視覺伺服系統(tǒng)可分為基于位置的視覺伺服系統(tǒng)(position-base)和基于圖像的視覺伺服系統(tǒng)(image-base)[1]?;谖恢玫囊曈X伺服系統(tǒng)首先要估計(jì)目標(biāo)物體在直角坐標(biāo)空間中相對(duì)于攝像機(jī)的位置,其視覺伺服誤差定義在三維笛卡爾空間,視覺或特征信息用來估計(jì)機(jī)械手末端與目標(biāo)的相對(duì)位姿,這種方法需要對(duì)視覺系統(tǒng)和機(jī)器人進(jìn)行精確標(biāo)定,另外由于要對(duì)圖像進(jìn)行解釋,因而計(jì)算量較大?;趫D像的視覺伺服系統(tǒng)的伺服誤差直接定義在圖像特征空間,即攝像機(jī)觀察到的特征信息直接用于反饋,不需要對(duì)三維姿態(tài)進(jìn)行估計(jì),但系統(tǒng)需在線計(jì)算圖像雅可比矩陣(圖像特征參數(shù)變化量與任務(wù)空間位姿變化量的關(guān)系矩陣)及其逆陣,而圖像雅可比矩陣跟許多實(shí)時(shí)變化的參數(shù)有關(guān),這是一個(gè)復(fù)雜的非線性過程,從理論上很難分析,并且對(duì)機(jī)器人的控制設(shè)計(jì)提出了較大的要求[2]。機(jī)器人視覺伺服系統(tǒng)是一個(gè)很復(fù)雜的系統(tǒng),綜合了許多學(xué)科的內(nèi)容,而各學(xué)科的發(fā)展又極不平衡,影響了其進(jìn)一步發(fā)展。正是基于此,機(jī)器人視覺伺服研究目前處于停滯不前的狀態(tài),國內(nèi)對(duì)此方面的研究大多只是進(jìn)行了仿真實(shí)驗(yàn),而未在實(shí)際機(jī)器人系統(tǒng)上實(shí)現(xiàn)。本文利用松下交流伺服系統(tǒng)、pmac運(yùn)動(dòng)控制卡、dsp圖像處理系統(tǒng)、工控機(jī)和機(jī)器人組成了伺服系統(tǒng),在具體機(jī)器人系統(tǒng)中對(duì)其進(jìn)行實(shí)驗(yàn)研究,探索基于圖像的機(jī)器人視覺伺服實(shí)現(xiàn)問題。
機(jī)器人視覺伺服系統(tǒng)組成部分
機(jī)器人系統(tǒng)及研究內(nèi)容機(jī)器人視覺系統(tǒng)數(shù)學(xué)模型
本文擬對(duì)系統(tǒng)進(jìn)行實(shí)驗(yàn)研究。建立機(jī)器人坐標(biāo)、攝像機(jī)坐標(biāo)、圖像坐標(biāo)和目標(biāo)點(diǎn)坐標(biāo)的坐標(biāo)變換關(guān)系。圖2是在機(jī)器人的第二根桿末端安裝一個(gè)攝像頭,形成eye-in-hand構(gòu)型而建立的坐標(biāo)變換關(guān)系圖。圖3是攝像機(jī)系統(tǒng)坐標(biāo)與圖像坐標(biāo)的關(guān)系及成像原理示意圖。
設(shè)機(jī)器人第一關(guān)節(jié)和第二關(guān)節(jié)的轉(zhuǎn)角分別為θ1和θ2,第一根桿長為l1,第二根桿長為l2。選取圖2中o點(diǎn)作為基坐標(biāo)參考點(diǎn),用[x0 y0 z0]t表示,攝像機(jī)坐標(biāo)系用[xc yc zc]t表示,圖像坐標(biāo)系用[u w]t表示;機(jī)器人第一關(guān)節(jié)用[x1 y1 z1]t表示,第二關(guān)節(jié)用[x2 y2 z2]t表示,設(shè)固定的目標(biāo)點(diǎn)pc在攝像機(jī)坐標(biāo)系(c)的齊次坐標(biāo)為: pc =[xc yc zc1]t,在基坐標(biāo)系(o)的齊次坐標(biāo)為:p0=[x0 y0 z0 1]t,兩個(gè)坐標(biāo)系之間的變換關(guān)系為:p0=0tcpc。
根據(jù)機(jī)器人運(yùn)動(dòng)學(xué)得到攝像機(jī)坐標(biāo)系與基坐標(biāo)系之間的變換矩陣如下:
本實(shí)驗(yàn)中機(jī)器人兩個(gè)關(guān)節(jié)均是由松下交流伺服電機(jī)驅(qū)動(dòng),電機(jī)和其驅(qū)動(dòng)控制器共同構(gòu)成了松下交流伺服系統(tǒng)。松下minasa系列交流伺服系統(tǒng)由a系列驅(qū)動(dòng)器和配套交流伺服電機(jī)組成。其以三相交流伺服系統(tǒng)為基本原理[5],采用光電編碼器作為電機(jī)轉(zhuǎn)速和轉(zhuǎn)子磁極位置檢測單元,系統(tǒng)在驅(qū)動(dòng)器內(nèi)部集成了相關(guān)功能模塊,構(gòu)成了一個(gè)高集成度、高控制精度、數(shù)字化、智能化的閉環(huán)伺服控制系統(tǒng)。根據(jù)期望輸入指令值,按照已設(shè)定好的控制方式和各參數(shù)設(shè)定值,驅(qū)動(dòng)器控制各相關(guān)功能單元,產(chǎn)生出控制igbtpwm模塊的信號(hào),最終控制伺服電機(jī)按照期望值運(yùn)轉(zhuǎn)。系統(tǒng)具有分倍頻功能,可以以多種形式將反饋脈沖輸出給外部控制器或接收位置控制指令信號(hào)。系統(tǒng)具有多種控制模式,如速度和轉(zhuǎn)矩控制模式,以模擬信號(hào)作為輸入,本文采用的是轉(zhuǎn)矩控制模式[6]。
pmac運(yùn)動(dòng)控制卡
pmac運(yùn)動(dòng)控制卡是美國delta tau data systems公司生產(chǎn)的一種可編程、高性能伺服運(yùn)動(dòng)多軸控制器,采用motorola公司的數(shù)字信號(hào)處理芯片dsp56001作為cpu。
pmac可認(rèn)為是一臺(tái)完整的計(jì)算機(jī),用dsp芯片作為主處理器,處理8個(gè)軸的所有計(jì)算并可同時(shí)控制8軸運(yùn)動(dòng),具有獨(dú)立的存儲(chǔ)空間、輸入輸出接口以及其他外圍擴(kuò)展電路。它可與各種類型的主機(jī)、放大器、電機(jī)、傳感器結(jié)合完成各種類型的功能,只要我們應(yīng)用好其硬件特性和軟件特性,依據(jù)特定的功能要求對(duì)其進(jìn)行設(shè)置,就能使它正常高效地工作。pmac卡為用戶提供了pwin32應(yīng)用軟件和pcomm32pro動(dòng)態(tài)鏈接庫。高級(jí)語言通過pcomm32pro動(dòng)態(tài)鏈接庫,可以直接調(diào)用相關(guān)函數(shù)與pmac卡進(jìn)行通訊,從而實(shí)現(xiàn)對(duì)pmac卡的控制[7]。本文將它與松下交流伺服系統(tǒng)配合使用。
dsp圖像處理系統(tǒng)及圖像處理
系統(tǒng)簡介
本實(shí)驗(yàn)中采用的是北京合眾達(dá)公司的seed-vpm642視頻處理系統(tǒng),該系統(tǒng)是一款專為各種視頻應(yīng)用而開發(fā)的pci插卡或帶10/100m以太網(wǎng)接口的處理系統(tǒng)。它是在tms320dm642芯片基礎(chǔ)上通過外擴(kuò)容量為4m×64位的同步動(dòng)態(tài)存儲(chǔ)器sdram;容量為4m×8位的在線電可擦/寫異步存儲(chǔ)器flash;可配置為rs232/rs422/rs485標(biāo)準(zhǔn)的兩路uart串行接口;4路pal/ntsc標(biāo)準(zhǔn)模擬視頻輸入,1路pal/ntsc標(biāo)準(zhǔn)模擬視頻輸出;4路立體聲音頻輸入/輸出;實(shí)時(shí)時(shí)鐘rtc和512×8位eeprom;32位的33mhz、支持主/從模式的pci接口或者10/100mbase-tx標(biāo)準(zhǔn)以太網(wǎng)接口;標(biāo)準(zhǔn)ata硬盤接口;以及esam硬件加密模塊。系統(tǒng)可實(shí)時(shí)實(shí)現(xiàn)多路數(shù)字視頻/音頻的編解碼運(yùn)算,如mpeg4、h.264、g.729等;可實(shí)時(shí)接收4路視頻/音頻輸入,并實(shí)時(shí)輸出。并能實(shí)現(xiàn)與其他io設(shè)備、計(jì)算機(jī)、存儲(chǔ)設(shè)備、以太網(wǎng)絡(luò)進(jìn)行實(shí)時(shí)數(shù)據(jù)的高速傳輸和處理。系統(tǒng)由實(shí)驗(yàn)箱體、ccd攝像頭、seed-vpm642處理板等組成。在箱體上已固定好兩個(gè)串行接口、硬盤接口、4路圖像輸入和輸出接口、液晶顯示器等[8]。
圖像處理
本實(shí)驗(yàn)圖像處理具體實(shí)現(xiàn)過程如圖4所示。
機(jī)器人視覺伺服系統(tǒng)工作流程
硬件流程
本實(shí)驗(yàn)系統(tǒng)由工控機(jī)、pmac運(yùn)動(dòng)控制卡、松下交流伺服系統(tǒng)、dsp圖像處理系統(tǒng)和機(jī)器人組成。了解和熟悉松下交流伺服系統(tǒng)的原理和功能后,調(diào)試機(jī)器人關(guān)節(jié)伺服電機(jī)的運(yùn)行,優(yōu)化相關(guān)控制參數(shù)以求獲得最好伺服效果;研究pmac運(yùn)動(dòng)控制卡的原理和功能,并與松下交流伺服系統(tǒng)配合,編寫運(yùn)動(dòng)程序,不斷調(diào)整和優(yōu)化pmac卡的控制參數(shù),以求獲得滿意的運(yùn)動(dòng)控制效果;對(duì)seed-vpm642圖像處理系統(tǒng)進(jìn)行深入學(xué)習(xí)和研究后,開發(fā)視頻圖像處理程序。組成該系統(tǒng)的硬件流程圖如圖5所示。
系統(tǒng)工作流程
給定期望目標(biāo)物體質(zhì)心圖像坐標(biāo),主控程序計(jì)算其與由dsp圖像處理系統(tǒng)反饋的質(zhì)心圖像坐標(biāo)值的差值,判斷系統(tǒng)是否已到達(dá)伺服位置,若已到達(dá),則結(jié)束伺服過程;否則,求解圖像雅可比矩陣的逆陣,得到機(jī)器人兩個(gè)關(guān)節(jié)應(yīng)轉(zhuǎn)動(dòng)的角度值,并將其輸出給pmac運(yùn)動(dòng)程序,pmac卡按運(yùn)動(dòng)程序計(jì)算并輸出轉(zhuǎn)矩指令給松下伺服控制器,由它直接控制機(jī)器人關(guān)節(jié)電機(jī)的運(yùn)轉(zhuǎn),通過編碼器檢測關(guān)節(jié)的位置,反饋給伺服控制器和pmac卡(伺服控制器對(duì)編碼器信號(hào)進(jìn)行處理后自身使用并可同時(shí)輸出)。ccd攝像頭跟隨機(jī)器人運(yùn)動(dòng),攝取目標(biāo)物體圖像,通過dsp圖像處理程序處理后求得目標(biāo)物體質(zhì)心圖像坐標(biāo),通過串口通訊傳遞給主控程序作為視覺反饋量,形成視覺伺服循環(huán)。
實(shí)驗(yàn)結(jié)果
基于上述系統(tǒng)原理,在vc++6.0環(huán)境下編寫主控程序,主控程序主要包括界面的顯示和人機(jī)交互部分、圖像雅可比矩陣逆陣部分、pmac應(yīng)用程序部分,串口通信部分、數(shù)據(jù)存儲(chǔ)部分。程序運(yùn)行界面如圖6所示。
提交
工業(yè)機(jī)器人控制系統(tǒng)的開放體系結(jié)構(gòu)
工業(yè)機(jī)器人離線編程及無碰撞路徑規(guī)劃系統(tǒng)的開發(fā)研究
工業(yè)機(jī)器人手臂結(jié)構(gòu)的有限元分析與研究
工業(yè)機(jī)器人通用控制器研究開發(fā)
工業(yè)機(jī)器人網(wǎng)絡(luò)控制與編程